home *** CD-ROM | disk | FTP | other *** search
- #pragma autorecover
- #pragma namespace("\\root")
-
- instance of __NAMESPACE
- {
- Name = "MicrosoftActiveDirectory";
- };
-
- #pragma namespace("MicrosoftActiveDirectory")
-
- #pragma deleteclass("ReplicationProvider", NOFAIL)
- #pragma deleteclass("ReplicationProvider1", NOFAIL)
-
-
- /////////////////////////////////////////////////
- // Declare an instance of the __Win32Provider ///
- /////////////////////////////////////////////////
-
- class ReplicationProvider1 : __Win32Provider
- {
- // this will override the property on WinXP and it will add a new property on Win2K
- [override("HostingModel") ] string HostingModel;
- };
-
- instance of ReplicationProvider1 as $P
- {
- Name = "ReplProv1" ;
- ClsID = "{29288F43-39B1-40db-B41F-CE899450E911}";
- HostingModel = "NetworkServiceHost";
-
- } ;
-
- instance of __InstanceProviderRegistration
- {
- Provider = $P;
- SupportsPut = FALSE;
- SupportsGet = TRUE;
- SupportsDelete = FALSE;
- SupportsEnumeration = TRUE;
- };
-
- instance of __MethodProviderRegistration
- {
- Provider = $P;
- };
-
-
- //
- // The DomainController class is not a singleton though
- // this class is the domain controller that is being accessed
- // and there can only be one instance of this class.
- //
- [dynamic,
- provider("ReplProv1"),
- description("The current domain controller properties.")]
- class MSAD_DomainController
- {
-
- [key, Description ("X.500 path of the ntds-settings object.")]
- String DistinguishedName;
-
- [Description ("Common name of the server object.")]
- String CommonName;
-
- [Description ("Site in which the DC exists.")]
- String SiteName;
-
- [Description ("String-ized GUID of the ntds-settings object.")]
- String NTDsaGUID;
-
- [Description ("TRUE, indicates that the DC is a Global Catalog server.")]
- boolean IsGC = FALSE;
-
- //
- // The next 5 properties describe the current replication queue statistics
- // for the DC
- //
- [Description ("Timestamp of the oldest replication sync operation still"
- " in the queue on this domain controller.")]
- datetime TimeOfOldestReplSync;
-
- [Description ("Timestamp of the oldest replication add operation still"
- " in the queue on this domain controller.")]
- datetime TimeOfOldestReplAdd;
-
- [Description ("Timestamp of the oldest replication delete operation still"
- " in the queue on this domain controller.")]
- datetime TimeOfOldestReplDel;
-
- [Description ("Timestamp of the oldest replication modify operation still"
- " in the queue on this domain controller.")]
- datetime TimeOfOldestReplMod;
-
- [Description ("Timestamp of the oldest replication update operation still"
- " in the queue on this domain controller.")]
- datetime TimeOfOldestReplUpdRefs;
-
- //
- // Both IsNextRIDPoolAvailable and PercentageOfRIDsLeft should be used in
- // conjunction with a flag warning indicating that the DC is
- // running out of RIDs
- //
- [Description ("TRUE, implies that the DC has obtained another RID pool"
- " and allocation of RIDs on this DC can continue, even if the current"
- " pool of RIDs is exhausted.")]
- boolean IsNextRIDPoolAvailable = FALSE;
-
- [Description ("Percentage of RIDs left of the current RID pool"
- " on this DC.")]
- uint32 PercentOfRIDsLeft;
-
- [Description ("TRUE, implies that the DC is registered correctly in DNS.")]
- boolean IsRegisteredInDNS;
-
- [Description ("TRUE, indicates that the locator service on the DC is"
- " advertising correctly.")]
- boolean IsAdvertisingToLocator = FALSE;
-
- [Description ("TRUE, indicates that the Sysvol share is published"
- " correctly.")]
- boolean IsSysVolReady = FALSE;
-
-
- //
- // METHODS
- //
- // API: DsReplicaConsistencyCheck
- //
- [implemented, Description ("Invokes the Knowledge Consistency Checker in "
- "order to verify the replication topology.")]
- void ExecuteKCC([in] uint32 TaskID, [in] uint32 dwFlags);
-
- };
-
-
- //
- // the various Naming Contexts hosted by this Domain controller
- // should include Non-domain NCs
- //
- [dynamic,
- provider("ReplProv1"),
- description("Various properties of the current Naming Context.")]
- class MSAD_NamingContext
- {
-
- [key, Description ("X.500 path of the Naming Context.")]
- String DistinguishedName;
-
- [Description ("TRUE, indicates that the NC is read/write, else read only.")]
- boolean IsFullReplica = FALSE;
-
- };
-
-
-
- ////////////////////////////////////////////////////////////////////////
- // THE FOLLOWING 3 CLASSES ARE OBTAINED FROM THE DsReplicaGetInfo API //
- ////////////////////////////////////////////////////////////////////////
-
- //
- // ReplNeighbor = DS_REPL_NEIGHBOR
- // describes inbound replication state information for a Naming Context
- // & source server pair.
- //
- [dynamic,
- provider("ReplProv1"),
- description("Inbound replication state information for a Naming Context "
- "& source server pair.")]
- class MSAD_ReplNeighbor
- {
-
- [key, Description ("X.500 path for the Naming Context "
- "replicated by this connection.")]
- String NamingContextDN;
-
- [key, Description ("String-ized GUID for the DSA "
- "representing the source DC.")]
- String SourceDsaObjGuid;
-
- [Description ("String-ized GUID for the replicated Naming Context.")]
- String NamingContextObjGuid;
-
- [Description ("X.500 path for the DSA representing the source DC.")]
- String SourceDsaDN;
-
- [Description ("DNS address of the source DC. Note that this is "
- "not the commonly-used canonical DNS name, instead "
- "it is a modified GUID.")]
- String SourceDsaAddress;
-
- [Description ("The invocation ID used by the "
- "source server as of the last replication.")]
- String SourceDsaInvocationID;
-
- [Description ("X.500 path of the interSiteTransport object "
- "corresponding to he transport over which replication "
- "is performed. NULL for RPC/IP replication.")]
- String AsyncIntersiteTransportDN;
-
- [Description ("String-ized GUID of the intersite transport object "
- "corresponding to AsyncIntersiteTransportDN.")]
- String AsyncIntersiteTransportObjGuid;
-
- [Description ("The USnChanged of the last object update received.")]
- uint64 USNLastObjChangeSynced;
-
- [Description ("The usnLastObjChangeSynced value at the end of the last "
- " complete, successful replication cycle, or 0 if none.")]
- uint64 USNAttributeFilter;
-
- [Description ("Timestamp for the last successful replication attempt.")]
- datetime TimeOfLastSyncSuccess;
-
- [Description ("Timestamp for the last replication attempt.")]
- datetime TimeOfLastSyncAttempt;
-
- [Description ("HRESULT error code for the last replication attempt.")]
- uint32 LastSyncResult;
-
- [Description ("Number of consecutive failed replication attempts.")]
- uint32 NumConsecutiveSyncFailures;
-
- uint32 ReplicaFlags;
-
- // Bit values extracted from dwReplicaFlags
- // #define DS_REPL_NBR_WRITEABLE (0x10)
- // #define DS_REPL_NBR_SYNC_ON_STARTUP (0x20)
- // #define DS_REPL_NBR_DO_SCHEDULED_SYNCS (0x40)
- // #define DS_REPL_NBR_USE_ASYNC_INTERSITE_TRANSPORT (0x80)
- // #define DS_REPL_NBR_TWO_WAY_SYNC (0x200)
- // #define DS_REPL_NBR_FULL_SYNC_IN_PROGRESS (0x10000)
- // #define DS_REPL_NBR_FULL_SYNC_NEXT_PACKET (0x20000)
- // #define DS_REPL_NBR_NEVER_SYNCED (0x200000)
- // #define DS_REPL_NBR_IGNORE_CHANGE_NOTIFICATIONS (0x4000000)
- // #define DS_REPL_NBR_DISABLE_SCHEDULED_SYNC (0x8000000)
- // #define DS_REPL_NBR_COMPRESS_CHANGES (0x10000000)
- // #define DS_REPL_NBR_NO_CHANGE_NOTIFICATIONS (0x20000000)
-
- boolean Writeable = FALSE;
- boolean SyncOnStartup = FALSE;
- boolean DoScheduledSyncs = FALSE;
- boolean UseAsyncIntersiteTransport = FALSE;
- boolean TwoWaySync = FALSE;
- boolean FullSyncInProgress = FALSE;
- boolean FullSyncNextPacket = FALSE;
- boolean NeverSynced = FALSE;
- boolean IgnoreChangeNotifications = FALSE;
- boolean DisableScheduledSync = FALSE;
- boolean CompressChanges = FALSE;
- boolean NoChangeNotifications = FALSE;
-
- ///////////////////////////////////////////////////////////////////////////
- // the following properties aren't directly mapped to the API properties //
- ///////////////////////////////////////////////////////////////////////////
-
- //
- // These 'other properties' are derived from the regular properties
- // present in the DS_Repl_Neighbor structure
- //
-
- [Description ("Site containing the source DC.")]
- String SourceDsaSite;
-
- [Description ("Object path component for the DSA representing "
- "the source DC. This is often similar to the "
- "computername but is not always identical.")]
- String SourceDsaCN;
-
- [Description ("Canonical name of the domain of the replicated"
- " Naming Context.")]
- String Domain;
-
- [Description ("True if this connection represents a source DC which "
- "has been deleted. By design, the DS will continue "
- "to replicate these connections for some time "
- "after the source DC is deleted.")]
- boolean IsDeletedSourceDsa = FALSE;
-
- [Description ("Number of consecutive failed replication attempts "
- "excepting connections which are expected to fail "
- "(i.e. IsDeletedSourceDsa property).")]
- uint32 ModifiedNumConsecutiveSyncFailures;
-
- //
- // METHODS
- //
- //
- // API: DsReplicaSync
- //
- [implemented, Description ("synchronizes a destination Naming Context with"
- " one of its sources.")]
- void SyncNamingContext([in] uint32 Options);
-
- };
-
-
- //
- // ReplCursor = DS_REPL_CURSOR
- // contains inbound replication state information with respect
- // to all replicas of a given Naming Context. This state information
- // indicates up to what USN X the destination server has seen all
- // changes <= USN X originated by the source server
- // with the given invocation ID.
- //
- [dynamic,
- provider("ReplProv1"),
- description("Contains inbound replication state information with respect"
- " to all replicas of a given Naming Context. This state information"
- " indicates up to what USN X the destination server has seen all"
- " changes <= USN X originated by the source server with the"
- " given invocation ID.")]
- class MSAD_ReplCursor
- {
-
- [key, Description ("X.500 path for the Naming Context "
- "that holds this cursor.")]
- String NamingContextDN;
-
- [key, Description ("String-ized version of the invocation ID of the"
- " originating server to which the usnAttributeFilter corresponds.")]
- String SourceDsaInvocationID;
-
- [Description ("The maximum USN X to which the destination server"
- " can assert it has seen all changes originated by the given"
- " server at USNs <= X.")]
- uint64 USNAttributeFilter;
-
- [Description ("X.500 path for the DSA "
- "representing the source DC.")]
- String SourceDsaDN;
-
- [Description ("Timestamp of the last successful replication sync with the"
- " source DSA. Indicates the time when this DC last saw changes made"
- " on the source DSA for this Naming Context.")]
- datetime TimeOfLastSuccessfulSync;
-
-
- };
-
- //
- // ReplPendingOp = DS_REPL_PENDING_OP
- // describes a replication task currently executing or
- // pending execution on the DC
- //
- [dynamic,
- provider("ReplProv1"),
- description("Describes a replication task currently executing or"
- "pending execution on the DC.")]
- class MSAD_ReplPendingOp
- {
-
- [key, Description ("ID of the operation, unique per-machine per-boot.")]
- uint32 SerialNumber;
-
- [Description ("Postion of this operation in the queue.")]
- uint32 PositionInQ;
-
- // corresponds to ftimeCurrentOpStarted in the DS_REPL_PENDING_OPS struct
- [Description ("Time when the operation was started ie. execution time. "
- "NULL if still in queue.")]
- datetime OpStartTime;
-
- [Description ("The time at which this operation was enqueued.")]
- datetime TimeEnqueued;
-
- [Description ("Priority of this operation. Higher priority tasks "
- "are executed first. The priority is calculated by "
- "the server based on the type of operation and its parameters.")]
- uint32 Priority;
-
- [Description ("Multivalued - needs to be interpreted per SDK")]
- uint32 OpType;
-
- [Description ("Multivalued - needs to be interpreted per SDK")]
- uint32 Options;
-
- [Description ("X.500 path of the Naming Context "
- "associated with this operation.")]
- String NamingContextDN;
-
- [Description ("String-ized version of the objectGuid of the Naming Context"
- " identified by NamingContextDN.")]
- String NamingContextObjGuid;
-
- [Description ("X.500 path of the DSA "
- "associated with the remote server corresponding "
- "to this operation, or NULL if none.")]
- String DsaDN;
-
- [Description ("The transport-specific network address of the remote "
- "server associated with this operation, or NULL if none.")]
- String DsaAddress;
-
- [Description ("String-ized version of the objectGuid "
- "of the DSA identified by DsaDN.")]
- String DsaObjGuid;
-
- };
-
-
- ////////////////////////////////////////////////////////////////////////
- // THE ABOVE 3 CLASSES ARE OBTAINED FROM THE DsReplicaGetInfo API ///
- ////////////////////////////////////////////////////////////////////////
-
-